// -----------------------------
// Author: 		Dhaenens Gert 
// Creation: 	2/15/2015 8:55:57 PM				
// -----------------------------

#ifndef _Game_h
#define _Game_h

#include "FlowEngine.h"

class Game : public Flow::IGame
{
public:
	Game();
	virtual ~Game();

	// Release the Game
	// Usually just 'delete this'
	virtual void	Release();


	// Queries the game for it's configs
	virtual void	QuerySettings(Flow::GameConfig& config);

	// Called when the Game should initialize
	// Use this to set up states and such
	virtual void	OnInitialize();

	// Called when the Game is Activated
	virtual void	OnActivate();
	// Called when the Game is Deactivated
	virtual void	OnDeactivate();

private:

	Game(const Game& refGame);
	Game& operator=(const Game& refGame);
};

#endif